The present invention relates generally to computer-implemented data processing methods, systems, and computer program products for use in electronic business (e-business) environments. More particularly, it relates to computer-implemented data processing methods, systems, and computer program products for dynamically selecting data of providers by requesters in a coupled environment of requesters and providers.
E-business continues to be a rapidly evolving area of information technology. Typical e-business transactions include the buying and selling of goods over a computer network, such as the Internet. In general, business entities tend to conduct transactions across the Internet with heterogeneous systems, applications, databases, and communication technologies. These Internet type e-business transactions have typically been defined, by person-to-program interactions. For example, such interactions allow individuals to access programs on network browsers. While these networking systems have been revolutionary in many respects, such networking systems nevertheless present several limitations. One such limitation is in regard to integrating application systems across platforms. For example, a business entity may have developed a proprietary application with fixed code. In this situation, other applications are often developed that are related to the fixed code application and, of course, all must communicate to one another, thereby necessitating continuing updates. This is of particular economic significance in the context of business environments that often involve numerous application modifications. Accordingly, the integration of e-business applications across differing platforms presents a significant obstacle in terms of continuing its rapid growth.
Until recently, the Internet, as architected above, has supported the vast majority of commercial e-business usage. However, it has become commercially desirable that Internet and computing standards be expanded beyond just typical e-business transactions, and encompasses e-business when you need it, or stated somewhat differently e-business on demand.
In this regard, web services are emerging as tools for use on the Internet for creating next generation distributed data processing systems. Essentially, web services involve business and consumer applications that enable heterogeneous computer systems to communicate seamlessly over a network; especially in a manner whereby cross platform application integration occurs. Such web services typically rely on standard technology, such as XML and Simple Object Access Protocol (SOAP). The messages are communicated in an XML format and conducted through with the network-neutral SOAP. As a result, web services provide an approach for unifying integration of a wide variety of computers and software that are involved in e-business. Use of this approach facilitates program-to-program interactions without requiring user-to-program interactions and this presents, of course, significant advantages.
In a typical web services business transaction, a service requester application queries a web services registry by specifying functions and seeking a registered provider of such services. The web services providers typically publish (e.g., advertise) the services they are making available with a standard encoding called Web Services Description Language (WSDL). The web services requester retrieves the stored information from the registry, including how to connect to the web services provider. Then once a selection occurs, a requester's application and a provider's application communicate for establishing a business transaction.
However, in certain web services situations, it is not always possible to find a web service that exactly matches requested search attributes. For example, a requester application may designate attributes for services and/or information that the web services requester deems mandatory as opposed to optional. The requester application communicates through the web registry and is typically given the option of selecting a web services provider that has an optional or informational set of service attributes even though the requested attribute is considered mandatory. By selecting the requested mandatory transaction attribute as part of an optional set of transactions provided by the provider, the requester is faced with accepting, as optional, those attributes requested to be mandatory. If the attribute is truly mandatory, then this services provider cannot be used. However, it is often the case that the mandatory attribute is only needed some of the time. Hence, using a services provider that provides more than is actually needed is clearly costly and less than entirely desirable given that differing costs (e.g., fees) are typically associated with the differing kinds of services provided.
Therefore, without the ability to provide a web services arrangement having the ability to dynamically select and accept variability in the kinds of services that are accessed by a customer or web services requester, the true potential of web services is diminished.